﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Warehouse.Application.Dto.Input;
using Warehouse.Application.Dto.Output;
using Warehouse.Domain.Entities;
using Warehouse.Result;

namespace Warehouse.Application.Services.Storagelocation
{
    public interface IStoragelocationAppService
    {
        /// <summary>
        /// 添加库位设置
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        ApiResult<int> CreateStoragelocation(CreateStoragelocationInput input);


        /// <summary>
        /// 获取库位设置
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        ApiPaing<GetStoragelocationOutput> GetStoragelocation(PageInput input);

        /// <summary>
        /// 删除库位设置
        /// </summary>
        /// <param name="Id"></param>
        /// <returns></returns>
        ApiResult<int> DeleteStoragelocation(long Id);
        /// <summary>
        /// 修改库区    
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        ApiResult<int> UpdateStoragelocation(UpdateStoragelocationInput input);


        /// <summary>
        /// 获取库区
        /// </summary>
        /// <param name="Id"></param>
        /// <returns></returns>
        ApiResult<StorageLocationModel> GetModelWareHouse(long Id);
        /// <summary>
        /// 获取所有货架
        /// </summary>
        /// <returns></returns>
        ApiPaing<StorageModel> ListStorage();

    }
}
